package com.atguigu.jxc.controller;

import com.atguigu.jxc.domain.ServiceVO;
import com.atguigu.jxc.domain.SuccessCode;
import com.atguigu.jxc.service.GoodsTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/goodsType")
public class GoodsTypeController {

    @Autowired
    private GoodsTypeService goodsTypeService;

    //    请求URL：http://localhost:8080/goodsType/loadGoodsType
//    请求参数：无
//    请求方式：POST
//    返回值类型：JSON
//    返回值：String
    //查询商品所有分类
    @PostMapping("loadGoodsType")
    @ResponseBody
    public List<Map<String, Object>> loadGoodsType() {
        Map<String, Object> goodsType = goodsTypeService.getGoodsType();
        ArrayList<Map<String, Object>> list = new ArrayList<>();
        list.add(goodsType);
        return list;
    }

    //    请求URL：http://localhost:8080/goodsType/save
//    请求参数：String  goodsTypeName,Integer  pId
//    请求方式：POST
//    返回值类型：JSON
//    返回值：ServiceVO
    //新增分类
    @PostMapping("/save")
    @ResponseBody
    public ServiceVO saveGoodsType(String goodsTypeName, Integer pId) {
        goodsTypeService.saveGoodsType(goodsTypeName, pId);
        return new ServiceVO<>(SuccessCode.SUCCESS_CODE, SuccessCode.SUCCESS_MESS);
    }

    //    请求URL：http://localhost:8080/goodsType/delete
//    请求参数：Integer  goodsTypeId
//    请求方式：POST
//    返回值类型：JSON
//    返回值：ServiceVO
    @PostMapping("/delete")
    @ResponseBody
    public ServiceVO deleteGoodsType(Integer goodsTypeId) {
        goodsTypeService.deleteGoodsType(goodsTypeId);
        return new ServiceVO<>(SuccessCode.SUCCESS_CODE, SuccessCode.SUCCESS_MESS);
    }
}
